/**
 * Licensee: DuKe TeAm
 * License Type: Purchased
 */
package ormsamples;

import org.orm.*;
public class RetrieveAndUpdateBabyManagerData {
	public void retrieveAndUpdateTestData() throws PersistentException {
		PersistentTransaction t = orm.BabyManagerPersistentManager.instance().getSession().beginTransaction();
		try {
			orm.DAOFactory lDAOFactory = orm.DAOFactory.getDAOFactory();
			orm.dao.PacienteDAO lormPacienteDAO = lDAOFactory.getPacienteDAO();
			orm.Paciente lormPaciente = lormPacienteDAO.loadPacienteByQuery(null, null);
			// Update the properties of the persistent object
			lormPacienteDAO.save(lormPaciente);
			orm.dao.ProfesionalDAO lormProfesionalDAO = lDAOFactory.getProfesionalDAO();
			orm.Profesional lormProfesional = lormProfesionalDAO.loadProfesionalByQuery(null, null);
			// Update the properties of the persistent object
			lormProfesionalDAO.save(lormProfesional);
			orm.dao.EncuestaDAO lormEncuestaDAO = lDAOFactory.getEncuestaDAO();
			orm.Encuesta lormEncuesta = lormEncuestaDAO.loadEncuestaByQuery(null, null);
			// Update the properties of the persistent object
			lormEncuestaDAO.save(lormEncuesta);
			orm.dao.PreguntaDAO lormPreguntaDAO = lDAOFactory.getPreguntaDAO();
			orm.Pregunta lormPregunta = lormPreguntaDAO.loadPreguntaByQuery(null, null);
			// Update the properties of the persistent object
			lormPreguntaDAO.save(lormPregunta);
			t.commit();
		}
		catch (Exception e) {
			t.rollback();
		}
		
	}
	
	public void retrieveByCriteria() throws PersistentException {
		System.out.println("Retrieving Paciente by PacienteCriteria");
		orm.PacienteCriteria pacienteCriteria = new orm.PacienteCriteria();
		// Please uncomment the follow line and fill in parameter(s)
		//pacienteCriteria.idPaciente.eq();
		System.out.println(pacienteCriteria.uniquePaciente());
		
		System.out.println("Retrieving Profesional by ProfesionalCriteria");
		orm.ProfesionalCriteria profesionalCriteria = new orm.ProfesionalCriteria();
		// Please uncomment the follow line and fill in parameter(s)
		//profesionalCriteria.idPrefesional.eq();
		System.out.println(profesionalCriteria.uniqueProfesional());
		
		System.out.println("Retrieving Encuesta by EncuestaCriteria");
		orm.EncuestaCriteria encuestaCriteria = new orm.EncuestaCriteria();
		// Please uncomment the follow line and fill in parameter(s)
		//encuestaCriteria.idEncuesta.eq();
		System.out.println(encuestaCriteria.uniqueEncuesta());
		
		System.out.println("Retrieving Pregunta by PreguntaCriteria");
		orm.PreguntaCriteria preguntaCriteria = new orm.PreguntaCriteria();
		// Please uncomment the follow line and fill in parameter(s)
		//preguntaCriteria.idPregunta.eq();
		System.out.println(preguntaCriteria.uniquePregunta());
		
	}
	
	
	public static void main(String[] args) {
		try {
			RetrieveAndUpdateBabyManagerData retrieveAndUpdateBabyManagerData = new RetrieveAndUpdateBabyManagerData();
			try {
				retrieveAndUpdateBabyManagerData.retrieveAndUpdateTestData();
				//retrieveAndUpdateBabyManagerData.retrieveByCriteria();
			}
			finally {
				orm.BabyManagerPersistentManager.instance().disposePersistentManager();
			}
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}
}
